package com.cdc.views;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;

/**
 * ProjectName：CusetomView
 * DESC: (类描述)
 * Created by chendongchu 2019\1\1 0001
 * updateName:(修改人名称)
 * updateTime:(修改时间)17:18
 * updateDesc:(修改内容)
 */
public class RectView extends View {

    /** 上下文 */
    private Context mContext;
    /** 画笔 */
    private Paint mPaint;

    /**
     * 在java代码里面通过new构造中view时调用此构造函数
     * @param context
     */
    public RectView(Context context) {
        super(context);
    }

    /**
     * 在xml文件里声明的,调用这个构造函数。
     * 自定义属性是从AttributeSet参数传进来的
     * @param context
     * @param attrs  XML属性
     */
    public RectView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     *不会自动调用,一般是在第二个构造函数里主动调用,如View有style属性时
     * @param context
     * @param attrs
     * @param defStyleAttr  应用到View的默认风格（定义在主题中）
     */
    public RectView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    /**
     * API21之后才使用
     * 不会自动调用
     * 一般是在第二个构造函数里主动调用
     *  如View有style属性时
     * @param context
     * @param attrs
     * @param defStyleAttr
     * @param defStyleRes  如果没有使用defStyleAttr，应用到View的默认风格
     */
    public RectView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint mPaint = new Paint();
     // 设置画笔的颜色
        mPaint.setColor(Color.GREEN);
        mPaint.setStrokeWidth(2.0f);
        // 设置填充颜色
        mPaint.setStyle(Paint.Style.STROKE);
        RectF rect = new RectF(100, 100, getWidth(), getHeight());
        // Rect rect2 = new Rect(10, 10, 100, 100);
        canvas.drawRect(rect, mPaint);

      /*  mPaint.setColor(Color.YELLOW);
        canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), mPaint);

        mPaint.setColor(Color.GREEN);
        canvas.drawText("opopopo", getWidth() / 2 , getHeight() / 2 , mPaint);*/


    }
}
